package cn.tannn.tconfig.client.repository;

import cn.tannn.tconfig.client.config.ConfigMeta;

import java.util.Map;

/**
 * 获取配置中心中的属性配置
 *
 * @author <a href="https://tannn.cn/">tnnn</a>
 * @version V1.0
 * @date 2024/5/4 下午7:11
 */
public interface TRepository {


    static TRepository getDefault(ConfigMeta meta) {
        TRepositoryImpl tRepository = new TRepositoryImpl(meta);
        return tRepository;
    }

    /**
     * 添加属性改变监听器
     * @param listener {@link TRepositoryChangeListener}
     */
    void addListener(TRepositoryChangeListener listener);

    /**
     * 属性
     * @return Map
     */
    Map<String,String> getConfig();
}
